package com.moyoutian.leetcode;

/**
 * 371. 两整数之和
 * <p>
 * 给你两个整数 a 和 b ，不使用 运算符 + 和 - ​​​​​​​，计算并返回两整数之和。
 * <p>
 * <p>
 * <p>
 * 示例 1：
 * <p>
 * 输入：a = 1, b = 2
 * 输出：3
 * <p>
 * 示例 2：
 * <p>
 * 输入：a = 2, b = 3
 * 输出：5
 * <p>
 * <p>
 * <p>
 * 提示：
 * <p>
 * -1000 <= a, b <= 1000
 */
public class Demo371 {
    public static void main(String[] args) {

        System.out.println(getSum(1, 1));
    }

    public static int getSum1(int a, int b) {
        return Integer.sum(a, b);
    }

    public static int getSum(int a, int b) {
        while (b != 0) {
            int carry = (a & b) << 1;
            a = a ^ b;
            b = carry;
        }
        return a;
    }


}
